package com.doit.doc;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class ApisDemo1 {
    public static void main(String[] args) {
        HashMap<String, String> map = new HashMap<>();

        //往集合中放元素
        map.put("stu001","zss");
        map.put("stu002","lss");
        map.put("stu003","www");
        map.put("stu004","zll");
        map.put("stu005","tqq");

        System.out.println(map);//{stu005=tqq, stu004=zll, stu001=zss, stu003=www, stu002=lss}

        //根据key获取对应value的值
        //站在上帝视角，001确实存在。返回zss
        String stu001 = map.get("stu001");
        System.out.println(stu001);//zss

        //006不存在返回什么呢？null
        String stu006 = map.get("stu006");
        System.out.println(stu006);//null

        //思考，如果stu001有两个怎么办？？
        //不好意思，key只能有一个，如果有两个，后面一个会覆盖前面一个
        map.put("stu004","doit");
        String stu004 = map.get("stu004");
        System.out.println(stu004);//doit


        //判断key是否存在
        boolean flag = map.containsKey("stu004");
        System.out.println(flag);//true

        //将stu004这个key，value移除
        map.remove("stu004");


        //返回map集合的长度
        System.out.println(map.size());


        //map集合的遍历
        //方法一：
        Set<Map.Entry<String, String>> entries = map.entrySet();
        for (Map.Entry<String, String> entry : entries) {
            String key = entry.getKey();
            String value = entry.getValue();
            System.out.println(key+"=>"+value);
        }

        //方法二
        Set<String> keys = map.keySet();
        for (String key : keys) {
            String value = map.get(key);
            System.out.println(key+"=>"+value);
        }


    }
}
